﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZR.DataCollection.OperationCore.AbstractFactory;
using ZR.DataCollection.OperationCore.OperationEnum;

namespace ZR.DataCollection.OperationCore.OperationHelper
{
    public interface IOperationModel
    {
        /// <summary>
        /// 操作详情
        /// </summary>
        /// <param name="operationType"></param>
        /// <returns></returns>
        IAbsStationFactory GetOPCode(OperationTypeEnum operationType);

        /// <summary>
        /// 执行详情
        /// </summary>
        /// <param name="frmModel"></param>
        void WorkDetail(ImpParameter imp);

        /// <summary>
        /// 信号复位
        /// </summary>
        /// <param name="imp"></param>
        void SignalReset(ImpParameter imp);

        /// <summary>
        /// 错误通知
        /// </summary>
        event Action<string> Event_Notification;
    }
}